1
크로스플랫폼 GPU 컴퓨팅으로의 길
AI022Lesson 4
00:00

The 포터블성을 위한 이질적 컴퓨팅 인터페이스 (HIP) HIP는 NVIDIA와 AMD GPU 모두에 대해 통합된 코드베이스를 제공하기 위해 하드웨어 계층을 추상화하는 C++ 런타임 API를 제공합니다. 이 접근법은 CUDA 환경을 모방하면서 ROCm 백엔드를 대상으로 함으로써 공급업체 종속성 문제를 해결합니다. ROCm 백엔드입니다.

1. 환경 구성

초기화는 다음 환경 변수를 설정하여 hipcc 컴파일러가 올바른 툴체인을 가리키도록 설정하는 것으로 시작됩니다:

$ export HIP_PATH=[MYHIP]
$ export PATH=$PATH:[MYHIP]/bin

2. 툴체인 표준화

The hipcc 컴파일러는 스마트 래퍼 역할을 합니다. 빌드 자동화를 위해, HIP_PATH ?= $(shell hipconfig --path) 논리는 당신의 Makefile가 시스템 구성과 무관하게 HIP 설치 위치를 동적으로 찾을 수 있도록 보장합니다.

3. 버전 관리 로직

HIP는 릴리스 간 기능 가용성을 프로그래밍 방식으로 처리하기 위해 결정론적 버전 번호 공식을 사용합니다:

$$\text{HIP\_VERSION} = \text{HIP\_VERSION\_MAJOR} \times 10^7 + \text{HIP\_VERSION\_MINOR} \times 10^5 + \text{HIP\_VERSION\_PATCH}$$

HIP 소스 코드NVIDIA (NVCC)AMD (Clang/ROCm)

4. 핵심 런타임 동등성

HIP는 hipMallochipLaunchKernel CUDA의 메모리 및 실행 호출을 기능적으로 복제하여 "단일 소스" 개발 철학을 가능하게 합니다.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>